namespace org.jawk.backend
{
	/// <summary>Interpret a Jawk script within this JVM.</summary>
	/// <remarks>Interpret a Jawk script within this JVM.</remarks>
	/// <param name="tuples">The tuples containing the intermediate code.</param>
	public interface IAwkInterpreter
	{
		/// <summary>
		/// Traverse the tuples, interpreting tuple opcodes and arguments
		/// and acting on them accordingly.
		/// </summary>
		/// <remarks>
		/// Traverse the tuples, interpreting tuple opcodes and arguments
		/// and acting on them accordingly.
		/// </remarks>
		/// <param name="tuples">The tuples to compile.</param>
		/// <returns>the exit code returned by the script.</returns>
		int Interpret(org.jawk.intermediate.AwkTuples tuples);
	}
}
